#include "enumFactory.h"
#define SOME_ENUM(XX) \
    XX(FirstValue,) \
    XX(SecondValue,) \
    XX(SomeOtherValue,=50) \
    XX(OneMoreValue,=100) \



// enum SomeEnum { FirstValue , SecondValue , SomeOtherValue =50, OneMoreValue =100, }; const char *GetString(SomeEnum dummy); SomeEnum GetSomeEnumValue(const char *string);
// # 3 "/home/peak/develop/git/LearnMore/sources/utils/src/someEnum.cpp" 2

// const char *GetString(SomeEnum value) { switch (value) { case FirstValue: return "FirstValue"; case SecondValue: return "SecondValue"; case SomeOtherValue: return "SomeOtherValue"; case OneMoreValue: return "OneMoreValue"; default: return ""; } } SomeEnum GetSomeEnumValue(const char *str) { if (!strcmp(str, "FirstValue")) return FirstValue; if (!strcmp(str, "SecondValue")) return SecondValue; if (!strcmp(str, "SomeOtherValue")) return SomeOtherValue; if (!strcmp(str, "OneMoreValue")) return OneMoreValue; return (SomeEnum)0; }


DECLARE_ENUM(SomeEnum,SOME_ENUM)
